<template>
   <div>
      <!-- 公共导入组件 -->
      <upload-excel :on-success="success" />
   </div>
</template>

<script>
import { importEmployee } from '../../api/employees'
export default {
   methods: {
      async success({ header, results }) {
         // console.log(header)
         // console.log(results)
         // header 跟 results 的数据是中文
         // 跟新增员工的数据属性是一致的
         //   姓名
         //   username: '',
         //   手机号
         //    mobile: '',
         //    // 聘用形式
         //    formOfEmployment: '',
         //    // 工号
         //    workNumber: '',
         //    // 部门
         //    departmentName: '',
         //    // 入职日期
         //    timeOfEntry: '',
         //    // 转正日期
         //    correctionTime: ''
         // 对应关系
         const userRelations = {
            入职日期: 'timeOfEntry',
            手机号: 'mobile',
            姓名: 'username',
            转正日期: 'correctionTime',
            工号: 'workNumber'
         }
         // var arr = []
         // results.forEach(item => {
         //    var userInfo = {}
         //    Object.keys(item).forEach(key => {
         //       // key：就是入职日期   手机号 姓名 转正日期 工号
         //       // 现在的 key 是中文
         //       // userRelations[key] 是英文
         //       // 把原来中文对应的值赋值给原来英文对应的值
         //       userInfo[userRelations[key]] = item[key]
         //    })
         //    arr.push(userInfo)
         // })
         // console.log(arr)
         var newArr = results.map(item => {
            var userInfo = {}
            Object.keys(item).forEach(key => {
               if (
                  userRelations[key] === 'timeOfEntry' ||
                  userRelations[key] === 'correctionTime'
               ) {
                  userInfo[userRelations[key]] = new Date(
                     this.formatDate(item[key]),
                     '/'
                  )
               } else {
                  userInfo[userRelations[key]] = item[key]
               }
            })
            return userInfo
         })
         // 接收一个数组
         await importEmployee(newArr)
         this.$message.success('导入excel成功')
         // 回到上一个页面
         this.$router.back()
      },
      // 转换 excel 的日期格式
      formatDate(numb, format) {
         const time = new Date((numb - 1) * 24 * 3600000 + 1)
         time.setYear(time.getFullYear() - 70)
         const year = time.getFullYear() + ''
         const month = time.getMonth() + 1 + ''
         const date = time.getDate() - 1 + ''
         if (format && format.length === 1) {
            return year + format + month + format + date
         }
         return (
            year +
            (month < 10 ? '0' + month : month) +
            (date < 10 ? '0' + date : date)
         )
      }
   }
}
</script>

<style lang="scss" scoped></style>
